Two recurring central topics in information theory are efficient compression and reliable transmission of data. In the last 20 years or so communications and information technologies have fundamentally changed how we access information, interact as a society, and communicate. Today, these central topics are everywhere in our daily lives whether they arise in our use of portable electronic devices for mobile communications, multimedia streaming/downloading, Internet access, etc. or fixed electronic devices for content acquisition, watching our favorite television show, storing family photos, etc. Further, the ubiquitous nature of computing devices, cloud based storage, and the enhanced speed performance of the Internet mean that increasing our lives exploits remote stores of data.
To make communications reliable in the presence of noise, redundancy in the data is added before transmission as the intended receiver only has access to a noisy version of the data. If the redundancy is added through coding, then it is possible to reconstruct the original data at the receiver in the presence of noise through decision making processes at the receiver. Coding is therefore a central and essential element in any communication system. However, adding this redundancy comes at the cost of reducing the effective rate of data transmission since, in addition to the data, we must also transmit the redundant data.
Within this context polar codes have gathered significant attention as they are error-correcting codes with an explicit construction that provably achieve the symmetric capacity of memoryless channels. A (N, k) polar code is of length N and carries k information bits and is thus of rate R=k/N. Polar codes are built recursively such that a polar code of length N is the concatenation of two polar codes of length N/2. These can be decoded by using a low-complexity decoding algorithm, known as successive cancellation (SC). However, as this proceeds bit-by-bit, hardware implementations suffer from low throughput and high latency. To overcome this, modified SC-based algorithms were proposed and hardware implementations with a throughput greater than 1 Gbps have been demonstrated. Unrolled hardware architectures for polar decoders have been proposed and results showed a very high throughput, greater than 1 Tbps. However, these architectures are built for a fixed polar code i.e. the code length or rate cannot be modified at execution time. This represents a significant drawback for most modern wireless communication applications that largely benefit from the support of multiple code lengths and rates.
Therefore, there is a need for improvement.